//后端获取token
const token = String(req.headers.authorization || '').split(' ').pop()
assert(token, 401, '请先登录')
const {
  _id,
  identify
} = jwt.verify(token, app.get('secret'))
assert(id, 401, '请先登录')
let user = ''
if (identify == 2) {
  user = await AdminUser.findById(_id)
} else {
  user = await user.findById(_id)
}
assert(user, 401, '请先登录')
await next()

//如果要在后续中使用，就在req中挂载user
//req.user=await AdminUser.findById(_id)

//中间件中的操作。如果不带的话，就不给

http - assert常用的判断错误信息的
npm 引入
var assert = require('http-assert')
var ok = require('assert')

assert('要判断的条件', '返回什么错误码', '返回的错误message是什么')
401 错误码一般用来提示没有登录
app.use(async (err, req, res, next) => {
  console.log(err);
  res.status(err.statusCode || 500).send({
    message: err.message
  })
})
在函数最下面， 加上这个错误处理的。 因为http - assert是用路由错误抛出错误的， 所以要在最后接收这个错误
所以需要上面那样子写